﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BL.Entities;

namespace zCO
{
    public partial class frmABMPaciente : Form
    {
        Paciente p;
        bool IsUpdate = false;
        public frmABMPaciente()
        {
            InitializeComponent();
        }

        
        public frmABMPaciente(Paciente pp)
        {
            p = pp;
            InitializeComponent();
            txtNroAfiliado.Enabled = false;
            IsUpdate = true;
        }   

      

        private void frmABMPaciente_Load(object sender, EventArgs e)
        {
            foreach (var item in ColeccionObrasSociales.Current )
            {
                cmbObraSocial.Items.Add(item.NombreObra);
                
            }
            if (IsUpdate) {

                txtNroAfiliado.Text = p.NumeroAfiliado.ToString();
                txtApellido.Text = p.Apellido;
                txtNombre.Text = p.Nombre;
                txtMail.Text = p.Mail;
                txtTelefono.Text = p.Telefono;
                int c = 0;
                foreach (var item in cmbObraSocial.Items )
                {
                    if (item == p.ObraSocial.NombreObra) {
                        cmbObraSocial.SelectedIndex = c;
                    }
                    c++;
                }
            
            }
        }

        private void cmdCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
            this.Dispose();
        }

        private void cmdAceptar_Click(object sender, EventArgs e)
        {
            Int32 nro;
            if (cmbObraSocial.SelectedItem != null && txtApellido.Text !="" && txtNroAfiliado.Text  !="")
            {

                if (!IsUpdate)
                {
                    p = new Paciente();
                }

                p.NumeroAfiliado = txtNroAfiliado.Text;
                p.Apellido = txtApellido.Text;
                p.Nombre = txtNombre.Text;
                p.Mail = txtMail.Text;
                p.Telefono = txtTelefono.Text;
                p.ObraSocial = ColeccionObrasSociales.Current.GetByNombre(cmbObraSocial.SelectedItem.ToString());
                if (IsUpdate)
                {
                    p.SaveUpdate();
                }
                else
                {
                    p.Save();
                }


                MessageBox.Show("El Paciente se guardo con exito");
                this.Close();
            }
            else if (cmbObraSocial.SelectedItem == null)
            {
                MessageBox.Show("Debe Seleccionar una obra Social");
            }
            else {
                MessageBox.Show("Los campos Apellido y Nro de Afiliado no pueden ser vacios");
            }
        }
          
        }
    }

